openapi: 3.0.1
info:
  title: State DA - Agency to ePlanning API
  description: State Development Application Management API.
  version: v1
servers:
  - url: https://api-uat.apps1.nsw.gov.au/planning/OnlineStateDA/v1
paths:
  /AcceptReturn/{CaseID}:
    put:
      summary: AcceptReturn
      description: >-
        This operation transfers the agency's decision, to accept or return the
        application, from their IT system to the online state DA digital
        service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number.
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AcceptReturn'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /FeeCalculation/{CaseID}:
    put:
      summary: FeeCalculation
      description: >-
        This operation sends the request details to calculate the fee from the
        agency's IT system to the online state DA digital service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number.
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/feeCalculation'
        required: true
      responses:
        '200':
          description: Case updated
          content: {}
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /FeePaidandLodged/{CaseID}:
    put:
      summary: FeePaidandLodged
      description: >-
        This operation transfers fee paid and lodged status from the agency's IT
        system to the online state DA digital service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FeepaidandLodged'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/FeePaidandLodgedResponse'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /PreliminaryAssessment/{CaseID}:
    put:
      summary: PreliminaryAssessment
      description: >-
        This operation transfers preliminary assessment details for the
        application from the agency's IT system to the state DA digital Service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PreliminaryAssessment'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Success'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /FinalAssessment/{CaseID}:
    put:
      summary: FinalAssessment
      description: >-
        This operation transfers final assessment details for the application
        from the agency's IT system to the State DA Service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FinalAssessment'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /Determine/{CaseID}:
    put:
      summary: Determine
      description: >-
        This operation transfers the agency's determination outcome on the
        application from the agency's IT system to the online state DA digital
        service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number.
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Determination'
        required: true
      responses:
        '200':
          description: Case updated
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /ReviewRequestConsent/{CaseID}:
    put:
      summary: ReviewRequestConsent
      description: >-
        This operation is to transfer the reviewed request consent details from
        agency to online state DA digital service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReviewRequestConsent'
        required: true
      responses:
        '200':
          description: Review Request Consent Performed successfully.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Response'
        '400':
          description: Invalid request supplied
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
  /PendingLECDecision/{CaseID}:
    put:
      summary: PendingLECDecision
      description: >-
        This operation transfers the agency's decision to mark the case as
        pending with LEC during the determination process from agency's IT
        system to online state DA digital service.
      parameters:
        - name: CaseID
          in: path
          description: A fully qualified application number.
          required: true
          schema:
            type: string
        - name: OrganisationID
          in: header
          description: >-
            Used by the API gateway to identify the agency from which the
            request was initiated.
          required: true
          schema:
            type: string
        - name: IdempotencyID
          in: header
          description: >-
            Unique Id for this request. Allows the API to respond in an
            idempotent way if it has already been called with these parameters
            and prevents duplicate processing. Typically a UUID such as
            "63a9ba30-7a4b-4fac-b343-d1f05cf089f1"
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PendingLECDecision'
        required: true
      responses:
        '200':
          description: Case successfully routed to court appeal.
          content: {}
        '400':
          description: Invalid request supplied.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Case not found or locked by another user.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Error'
      x-codegen-request-body-name: body
components:
  schemas:
    AcceptReturn:
      required:
        - lodgementOutcome
        - updatedByEmail
      type: object
      properties:
        lodgementOutcome:
          type: string
          description: >-
            This is to track the agency's acceptance or rejection of an
            application. 1.Application was lodged 2.Application was returned
          example: Refer to description for values.
        returnDate:
          type: string
          description: >-
            This is to track the date the application was returned to the
            applicant. Mandatory if lodgementOutcome is'Application was
            returned'.
          format: date
        returnReason:
          type: string
          description: >-
            This is to track the reason the agency returned the application.
            Mandatory if lodgementOutcome is 'Application was returned'.
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    FeepaidandLodged:
      required:
        - isFeesPaid
        - updatedByEmail
      type: object
      properties:
        isFeesPaid:
          type: boolean
          description: This is to track whether the applicant had paid the fee or not.
        isFeePayableunderPart13:
          type: boolean
          description: >-
            This is to track the lodgement date. This gives the ability to mark
            a modification State DA as lodged on the day the application was
            submitted if no fee is payable under Part 13, so that the applicant
            is notified about correct lodgement date and process.
        totalFeesPaid:
          type: number
          description: >-
            This is to track the total amount paid. Mandatory when isFeesPaid is
            'true'.
          example: 1250.9
        invoiceNumber:
          maxLength: 20
          type: string
          description: >-
            This is to track the invoice number. Applicable when isFeesPaid is
            'true'.
        paymentDate:
          type: string
          description: >-
            This is to track the payment date. Applicable if isFeesPaid is
            'true'.
          format: date
        consentAuthorityID:
          maxLength: 20
          type: string
          description: >-
            This is to track the internal application ID generated in the
            agency's IT system.
        acceptDate:
          type: string
          description: >-
            This is to track the date application was accepted in the agency's
            IT system. This field will be read only if paymentDate contains any
            valid value.
          format: date
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    feeCalculation:
      required:
        - investmentValue
        - updatedByEmail
      type: object
      properties:
        investmentValue:
          type: number
          description: >-
            This is to track the estimated cost of the proposed development.
            This will be applicable to track the UI Field 'What was the
            Estimated cost of the proposed development' for development
            application and the UI field 'What was the estimated cost of the DA
            the modification application'.
          example: 250.1
        estimatedCostOfStagedDA:
          type: number
          description: >-
            This is to track the estimated cost of staged DA component(if any).
            Applicable when application type is selected as'Development
            Application'.
          example: 1250.9
        isDADesignatedDevelopment:
          type: boolean
          description: >-
            This is to track if the application is a designated development.
            Applicable when application type is selected as 'Development
            Application'.
        isSubdivisionSelected:
          type: boolean
          description: >-
            This is to track if the application proposes subdivision. Applicable
            when application type is selected as 'Development Application'.
        nonStrataLots:
          type: number
          description: >-
            This is to track the number of new non-strata lots proposed.
            Applicable when isSubdivisionSelected is 'true' and application type
            is 'Development Application'.
          maxLength: 4
        strataLots:
          type: number
          description: >-
            This is to track number of new strata lots proposed. Applicable when
            isSubdivisionSelected is 'true' and application type is 'Development
            Application'.
          maxLength: 4
        isNewRoadProposed:
          type: boolean
          description: >-
            This is to track if the application involves the opening of a new
            road. Applicable when application type is selected as'Development
            Application'.
        isDAAdvertisement:
          type: boolean
          description: >-
            This is to track if the applicant opts for an advertisement (e.g.
            signage). Applicable when application type is selected as
            'Development Application'.
        numberOfAddnlAdvertisements:
          type: number
          description: >-
            This is to track the number of additional advertisements proposed.
            Applicable when IsDAAdvertisement is 'true' and application type is
            'Development Application'.
          maxLength: 4
        isOtherDevelopment:
          type: boolean
          description: >-
            This is to track the confirmation that development does not involve
            erection of any building, carrying out of a work, subdivision of
            land or demolition of a building or work. Applicable when
            application type is selected as 'Development Application'.
        isDAExhibited:
          type: boolean
          description: >-
            This is to track if the application is to be exhibited. Applicable
            when application type is selected as 'Development Application'.
        numberOfIntegratedAgencies:
          type: number
          description: >-
            This is to track the number of integrated approval agencies to
            advice on the state DA. Applicable when application type is selected
            as 'Development Application'.
          maxLength: 4
        numberOfConcurrenceAuthorities:
          type: number
          description: >-
            This is to track the number of concurrence authorities referred for
            advice. Applicable when application type is selected as 'Development
            Application'.
          maxLength: 4
        originalDAFee:
          type: number
          description: >-
            This is to track the fee for the original state DA application.
            Applicable when application type is selected as 'Modification
            Application'.
        relationWithOriginalDA:
          type: string
          description: >-
            This is to track the relation with the original DA. Applicable when
            applicationType is selected as 'Modification Application' and
            'modification application type' selected as 'Section 4.55(2) of the
            Act' or 'Section 4.56 of the Act' with the 'originalDAFee' amounting
            greater than or equal to $100 1. the original development
            application does not involve the erection of a building, the
            carrying out of a work or the demolition of a work or building 2.
            the original development application involves the erection of a
            dwellinghouse with an estimated cost of construction of $100,000 or
            less 3. the original development application involves the erection
            of a building (including a dwellinghouse with an estimated cost of
            construction of $100,001 or more), the carrying out of a work or the
            demolition of a work or building
          example: Refer to description for values.
        isSEPP65Review:
          type: boolean
          description: >-
            This is to track if the application to be referred to a SEPP65
            design review panel. This will be applicable to track the UI Field
            name 'The S4.55 modification is to be referred to a SEPP65 design
            review panel' of the modification application and the UI field'The
            DA is to be referred to a SEPP65 design review panel application' of
            the development application.
        isS455Exhibited:
          type: boolean
          description: >-
            This is to track if S4.55 modification is to be exhibited for the
            application. Applicable when application type is selected
            as'Modification Application'.
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
      description: >-
        Agency needs to provide the details required for fee calcualtion.
        Applicable when 'applicationType' is 'Development application' or
        'Modification application'
    PreliminaryAssessment:
      required:
        - determiningAuthority
        - isApplicantProposing
        - isApplicationExhibited
        - isAssesedByPvtConsultant
        - isConcurrenceReq
        - isConsultationRequired
        - isSICReq
        - isVPAReq
        - restrictApplicantContact
        - isDesignatedDevelopment
      type: object
      properties:
        determiningAuthority:
          type: string
          description: >-
            This is to track the anticipated determining or consent authority
            for this case. 1. Minister for Planning and Public Spaces /
            Independent Planning Commission 2.Independent Planning Commission
            3.Lord Howe Island Board 4.Sydney Olympic Park Authority 5.Minister
            for Transport and Roads/Minister for Regional Transport and Roads
          example: Refer to description for values.
        isConcurrenceReq:
          type: boolean
          description: >-
            This is to track if application required concurrence or agency
            referral(s) for the state DA case. If yes, CNR case will be created
            upon submission of state DA case. If "isConcurrenceReq" is Yes,
            system will create a CNR which can be accessed using the 'Related
            Cases' tab.
        isApplicationExhibited:
          type: boolean
          description: >-
            This is to track if the application case will be notified or
            exhibited. If the agency selects isApplicationExhibited as Yes, new
            exhibition case will be created.
        exhibitStartDate:
          type: string
          description: This is to track the State DA exhibition's start date.
          format: date
        exhibitEndDate:
          type: string
          description: >-
            This is to track the State DA exhibition's end date. Only required
            if State DA has been exhibited.
          format: date
        doesPublicExhibitionRequired:
          type: boolean
          description: >-
            This is to track if the application needs to be exhibited on the NSW
            planning portal. Conditional mandatory for the question "Would you
            like to exhibit this application on the NSW Planning Portal" when
            isApplicationExhibited is true.
        isSICReq:
          type: boolean
          description: >-
            This is to track if the site is subject to special infrastructure
            contributions (SIC).
        isApplicantProposing:
          type: boolean
          description: >-
            This is to track if the applicant proposes to enter into a planning
            agreement.
        letterOfOffer:
          type: boolean
          description: >-
            This is to track if proposal for planning agreement from applicant
            is accepted. conditonal mandatory when isApplicantProposing is true
        isVPAReq:
          type: boolean
          description: >-
            This is to track if the development is located within an urban
            release area and it triggers the need for a Voluntary Planning
            Agreement (VPA).
        nominatedUrbanReleaseArea:
          type: string
          description: >-
            This is to track which nominated urban release area the state DA
            belongs to if the site is located in an urban area. Mandatory when
            isVPAReq is Yes. Following are examples for the nominated urban
            release areas that comes under BLACKTOWN LGA and other urban release
            areas may vary in accordance with LGA. 1.Bungarribee 2.Colebee
            3.Former Ashlar Golf Course 4.The Ponds & Kellyville Ridge
          example: Refer to description for values.
        isPublicInfrastructure:
          type: boolean
          description: >-
            This is to track if the application triggered the need for
            consideration of satisfactory arrangements for public
            infrastructure. Mandatory when isVPAReq is Yes.
        isConsultationRequired:
          type: boolean
          description: >-
            This is to track if application requires council referral(s) for the
            application. If yes, referral case(s) will be created upon
            submission of state DA case. If "isConsultationRequired" is Yes,
            system will create a referral(s) which can be assessed using the
            'Related Cases' tab.
        councilsToConsult:
          type: array
          description: >-
            This is to track the list of councils to be consulted for the
            application. Applicable only  when isConsultationRequired is true.
          items:
            $ref: '#/components/schemas/councilsToConsultWith'
        isDesignatedDevelopment:
          type: boolean
          description: This is to track if the application is a designated development.
        restrictApplicantContact:
          type: boolean
          description: >-
            This is to track if the applicant asked for their contact
            information to be restricted or withheld.
        isAssesedByPvtConsultant:
          type: boolean
          description: >-
            This is to track if the consent authority engages private
            consultants to assess the development. application.
        reasonForEngagingPvtConsultant:
          type: string
          description: >-
            This is the track the reason why the consent authority has to
            engaged private consultants for assessment if consent authority had
            engaged private consultants. Conditional mandatory when
            "isAssesedByPvtConsultant" is true.
          enum:
            - Resourcing
            - Specialist advice
            - Other
        typeOfCounsultant:
          type: array
          description: >-
            This is to track the type of consutant if consent authority engaged
            private consultants for assessment. Applicable only  when
            isAssesedByPvtConsultant is true.
          items:
            $ref: '#/components/schemas/typeOfCounsultantList'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    FinalAssessment:
      required:
        - inspectionDate
        - isPaymentDeclared
      type: object
      properties:
        isFeesPaidDuringAssessment:
          type: boolean
          description: >-
            This is to track if the applicant has paid the DA fees before final
            assessment and not beore lodgement. Mandatory and applicable if fees
            not paid during lodgement.
        totalFeesPaid:
          type: number
          description: >-
            This is to track total fee paid by the applicant during final
            assessment. Applicable only if fees have been paid during
            assessment.
          example: 1250.9
        invoiceNumber:
          maxLength: 20
          type: string
          description: >-
            This is to track invoice number if fee was paid during final
            assessment. Applicable when isFeesPaidDuringAssessment is 'true'
        paymentDate:
          type: string
          description: >-
            This is to track fee payment date if fee was paid during final
            assessment. Applicable if isFeesPaidDuringAssessment is 'true'.
          format: date
        inspectionDate:
          type: string
          description: This is to track the inspection completed date on the application.
          format: date
        ExhibitionDetails:
          type: array
          items:
            $ref: '#/components/schemas/ExhibitionCaseDetails'
        isPaymentDeclared:
          type: boolean
          description: >-
            This is to track the declaration by applicant on declaration
            regarding payment."I confirm that a condition has been imposed
            requiring the payment of relevant development contributions in
            accordance with any relevant local or state contributions plan or
            Voluntary Planning Agreement."
        isSICDeclared:
          type: boolean
          description: >-
            This is to track the declaration by applicant regarding SIC. "I
            confirm that the SIC condition has been included in the proposed
            conditions.". Mandatory when isSICReq is Yes.
        isSACDeclared:
          type: boolean
          description: >-
            This is to track the declaration by applicant redarding SAC. "I
            confirm that a SAC has been issued in relation to this
            development.". Mandatory when isVPAReq is Yes.
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    Determination:
      required:
        - determinationAuthority
        - determinationDate
        - determinationOutcome
        - haveDwellingsApproved
        - isDevStandardVariationApproved
        - sustainableBuildingsRequirementsMet
        - updatedByEmail
      type: object
      properties:
        determinationOutcome:
          type: string
          description: >-
            This is to track the determination outcome provided by agency on the
            application final assessment. 1. Approved 2. Refused 3. Deferred
            commencement consent
          example: Refer to description for values.
        ownersConsentProvided:
          type: string
          description: >-
            This is to track if the written evidence of the consent of the
            owner(s) has been provided or not. This is applicable when
            'developmentSiteOwner' is other than 'I am the sole owner of the
            development site' and 'I am located in an Alpine Resort'. Example
            values are as below. 1. Yes 2. No 3. Owners consent not required.
            Please refer to the reference data API for the latest values.
        deferredCommencConsentDts:
          type: string
          description: >-
            This is to track deferred commencement details if agency had
            deferred commencement during determination. Mandatory only when
            DeterminationOutcome is Deferred.
        developmentDescription:
          maxLength: 200
          type: string
          description: >-
            This is to track the development description entered by the
            applicant/consent authority. This will be published on the NSW
            Planning Portal to meet the requirements of Section 97 of the
            Environmental Planning and Assessment Regulation 2021. Consent
            authority needs to provide the development description. When the
            consent authority does not provide the description, description
            provided by the applicant will be updated in the Planning portal. No
            validations around providing value for this field, will be given as
            long as the applicant’s entered development description is
            available.
        dueDateForEvidenceAboutRelevantMatters:
          type: string
          description: >-
            This is to track the period within which the applicant must produce
            sufficient evidence to the consent authority to enable it to be
            satisfied about the relevant matters in a accordance with Section
            76(3) of the Environmental Planning and Assessment Regulation 2021.
          format: date
        determinationAuthority:
          type: string
          description: >-
            This is to track the consent authority that has made the
            determination for the application. Land and environment court is
            applicable only when case is in Proceed to determination stage. 1.
            Minister for Planning and Public Spaces 2. Independent Planning
            Commission 3. Lord Howe Island Board 4. Sydney Olympic Park
            Authority 5. Minister for Transport and Roads/Minister for Regional
            Transport and Roads
          example: Refer to description for values.
        isDevStandardVariationApproved:
          type: boolean
          description: This is to track if variation to development standards was approved.
        developmentVariationDetails:
          type: array
          items:
            $ref: '#/components/schemas/DevelopmentVariationDetails'
        determinationDate:
          type: string
          description: >-
            This is to track the date on which this application is determined by
            the agency.
          format: date
        haveDwellingsApproved:
          type: boolean
          description: >-
            This is to track if any dwellings have been approved for affordable
            rental housing under this consent.
        numOfApprovedDwellings:
          type: integer
          description: >-
            This is to track the number of dwellings approved for affordable
            rental housing if dwellings were approved for affordable rental
            housing. Mandatory when haveDwellingsApproved is Yes.
        sustainableBuildingsRequirementsMet:
          type: string
          description: >-
            This is to track if the requirements for the Sustainable Buildings
            SEPP were met. This is applicable for the cases that are created
            after 1stOctober2023. Values for this attribute are "Yes","No","NA".
        proposedDevComponentList:
          type: array
          items:
            $ref: '#/components/schemas/ProposedDevComponent'
        roomType:
          type: array
          description: >-
            This is to track the room types as part of development statistics.
            Applicable when determinationOutcome is 'Approved' or 'Deferred
            commencement consent' and development type is "Boarding house" OR
            "Co-living" OR "Hostel" OR "Medium Density Housing" OR "Attached
            dwelling" OR "Dual occupancy" OR "Manor house" OR "Multi-dwelling
            housing" OR "Multi-dwelling housing (terraces)" OR "Semi-detached
            dwelling". Please refer to reference data API for the latest
            conditions.
          items:
            $ref: '#/components/schemas/RoomTypes'
        numOfBedrooms:
          type: array
          description: >-
            Applicable when determinationOutcome is 'Approved' or 'Deferred
            commencement consent'.
          items:
            $ref: '#/components/schemas/NumberofBedrooms'
        categoryOfDevelopment:
          type: array
          description: >-
            Applicable when determinationOutcome is 'Approved' or 'Deferred
            commencement consent'.
          items:
            $ref: '#/components/schemas/AddcategoryOfDevelopment'
        numOneBedroomDwellings:
          type: integer
          description: >-
            This is to track the number of one bedroom dwellings in the proposed
            state DA development. This attribute will become obsolete in the
            upcoming versions, as it's replaced by the object and their
            attributes. 'numOfBedrooms'
        numTwoBedroomDwellings:
          type: integer
          description: >-
            This is to track the number of two bedroom dwellings in the proposed
            state DA development. This attribute will become obsolete in the
            upcoming versions, as it's replaced by the object and their
            attributes.
        numThreeBedroomDwellings:
          type: integer
          description: >-
            This is to track the number of three bedroom dwellings in the
            proposed state DA development. This attribute will become obsolete
            in the upcoming versions, as it's replaced by the object and their
            attributes.
        numFourOrMoreBedroomDwellings:
          type: integer
          description: >-
            This is to track the number of 4 or more bedroom dwellings in the
            proposed state DA development. This attribute will become obsolete
            in the upcoming versions, as it's replaced by the object and their
            attributes.
        lotSize:
          type: integer
          description: This is to track the lot size in (m2) of the site being developed.
        floorArea:
          type: integer
          description: >-
            This is to track the approved gross floor area (m2) of the
            development (if relevant).This attribute will be replaced by the
            categoryofDevelopment object and will become obsolete in the
            upcoming versions.
        isPreDAMeetingHeld:
          type: boolean
          description: >-
            This is to track if a pre DA meeting was held with agency before
            lodgement of the state DA application.
        noOfTreesImpacted:
          type: number
          description: >-
            This is to track the number of trees impacted if tree works are
            involved. Visible only when IsTreeWorksReq is slected as true
          format: decimal
        landImpacted:
          type: number
          description: >-
            This is to track the land area impacts if tree works are involved.
            Visible only when IsTreeWorksReq is slected as true
          format: decimal
        impactedLandUnits:
          type: string
          description: >-
            This is to track the impacted land units if tree works are involved.
            Visible only when IsTreeWorksReq is slected as true 1. Square metres
            2. Hectares
          example: Refer to description for values.
        areaOfCanopy:
          type: number
          description: >-
            This is to track the area of canopy impacted if tree works are
            involved. Visible only when IsTreeWorksReq is slected as true
          format: decimal
        canopyUnits:
          type: string
          description: >-
            This is to track number of units of area of canopy imapcted if tree
            works are involved. Visible only when IsTreeWorksReq is slected as
            true 1.Square metres 2.Hectares
          example: Refer to description for values.
        treeReplacementDetails:
          type: string
          description: >-
            This is to track the details of the replacement trees/ land/ canopy.
            1.No replacement trees 2.Number of trees 3.Area of trees in square
            metres 4.Area of trees in hectares
          example: Refer to description for values.
        replacementTreeCount:
          type: integer
          description: >-
            This is to track the number of trees that are going to be replaced.
            This field is visible only when 'treeReplacementDetails' is selected
            as 'Number of trees' where minimum one is accepated number.
        canopyAreaAtMaturity:
          type: number
          description: >-
            This is to track the predicted area of canopy which is greater than
            zero by maturity time.
          format: decimal
        ExhibitionDetails:
          type: array
          items:
            $ref: '#/components/schemas/ExhibitionCaseDetails'
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    ReviewRequestConsent:
      required:
        - operativeConsentIssued
        - updatedByEmail
      type: object
      properties:
        operativeConsentIssued:
          type: boolean
          description: >-
            This is to capture 'Has satisfactory evidence been provided that the
            conditions have been addressed'. Applicable when the applicant
            submits the request operational consent.
        consentComments:
          maxLength: 2000
          type: string
          description: >-
            This is to track the comments from agency while issuing operational
            consent. Required when operativeConsentIssued is selected as No.
        Documents:
          type: array
          items:
            $ref: '#/components/schemas/DownloadableDocument'
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    EnvironmentalPlanningInstrument:
      type: object
      properties:
        epiValue:
          type: string
          description: >-
            This is to track under which Environmental Planning Instrument or
            Development Control Plan is the state DA proposal considered to be
            complying development.
        otherSEPPList:
          type: array
          description: >-
            This is to track if any other SEEP policies are involved.
            OtherSEPPList is applicable only when epivalue is
            "OtherEnvironmentalPlanningPolicy"
          items:
            $ref: '#/components/schemas/OtherStateEnvPlanningpolicy'
        otherLEPList:
          type: array
          description: >-
            This is to track if any other LEP policies are applicable.
            Applicable only when epivalue is "OtherEnvironmentalPlanning".
          items:
            $ref: '#/components/schemas/otherenvPlanningInstrument'
    OtherStateEnvPlanningpolicy:
      type: object
      properties:
        otherSEPPValue:
          title: OtherStateEnvPlanningpolicy
          type: string
          description: >-
            This is to track under which part of the exempt and complying
            development code was the application determined. Mandatory when
            'Other State Environmental Planning Policy' is selected from
            EnvironmentalPlangInstList. Following are examples for addresses
            that comes under BLACKTOWN LGA and the other SEPPList values may
            vary in accordance with LGA. 1. State Environmental Planning Policy
            (Primary Production and Rural Development) 2019 2. State
            Environmental Planning Policy (Building Sustainability Index:BASIX)
            2004 3. State Environmental Planning Policy No 36—Manufactured Home
            Estates 4. State Environmental Planning Policy (Housing for Seniors
            or People with a Disability) 2004 5. State Environmental Planning
            Policy (Vegetation in NonRural Areas) 2017 6. State Environmental
            Planning Policy No 55—Remediation of Land 7. State Environmental
            Planning Policy (Affordable Rental Housing) 2009 8. Sydney Regional
            Environmental Plan (Sydney Harbour Catchment) 2005 9. State
            Environmental Planning Policy No 50—Canal Estate Development 10.
            State Environmental Planning Policy No 1—Development Standards 11.
            State Environmental Planning Policy (Concurrences) 2018 12. State
            Environmental Planning Policy (Infrastructure) 2007 13. State
            Environmental Planning Policy No 70—Affordable Housing (Revised
            Schemes) 14. State Environmental Planning Policy No 21—Caravan Parks
            15. State Environmental Planning Policy No 65—Design Quality of
            Residential Apartment Development 16. State Environmental Planning
            Policy (Miscellaneous Consent Provisions) 2007 17. State
            Environmental Planning Policy (Exempt and Complying Development
            Codes) 2008 18. State Environmental Planning Policy (Educational
            Establishments and Child Care Facilities) 2017 19. State
            Environmental Planning Policy No 33—Hazardous and Offensive
            Development 20. State Environmental Planning Policy No
            64—Advertising and Signage 21. State Environmental Planning Policy
            (Mining, Petroleum Production and Extractive Industries) 2007 22.
            State Environmental Planning Policy No 19—Bushland in Urban Areas
          example: Refer to description for values.
    otherenvPlanningInstrument:
      type: object
      properties:
        otherLEPValue:
          title: otherenvPlanningInstrument
          type: string
          description: >-
            This is to track under which part of the non-standard exempt and
            complying development code was the application determined and this
            will be mandatory when we select 'Other Environmental Planning
            Instrument (eg. Local Environmental Plan, Interim Development Order,
            Planning Scheme, etc)' from EnvironmentalPlangInstList. Following
            are the examples for addresses that comes under BLACKTOWN LGA and
            the other respective Local Environment plas may vary in accordance
            with LGA. 1.Blacktown Local Environmental Plan 2015
          example: Refer to description for values.
    ExemptCDCCodeForApplication:
      title: exemptCDCCodeForApplication
      type: string
      description: >-
        This is to track under which part of the exempt and complying
        development code was the application determined. This will be mandatory
        when we select 'State Environmental Planning Policy (Exempt and
        Complying Development Codes) 2008' from EnvironmentalPlangInstList. 1.
        General Housing Code 2. Housing Code 3. Rural Housing Code 4. Low Rise
        Housing Diversity Code 5. Greenfield Housing Code 6. Inland Code 7.
        Housing Alterations Code 8. Commercial and Industrial Alterations Code
        9. Commercial and Industrial (New Buildings and Additions Cod 10.
        Container Recycling Facilities Code 11. Subdivisions Code 12. Demolition
        Code 13. Fire Safety Code 14. Other
      example: Refer to description for values.
    ProposedDevComponent:
      type: object
      properties:
        proposedDevComponent:
          type: string
          description: >-
            This is to track if the proposed development comprises any
            development components from affordable housing, secondary dwellings,
            boarding houses and group homes. 1. Affordable housing 2. Secondary
            dwellings 3. Boarding houses 4. Group homes
          example: Refer to description for values.
    DevelopmentVariationDetails:
      type: object
      required:
        - developmentStandardVaried
        - briefVariationJustification
      properties:
        developmentStandardVaried:
          type: string
          description: >-
            This is to track the name of the clause to be varied, as sought by
            the applicant if variation is involved 1. Floor space ratio 2.
            Height 3. Lot Size 4. Other
          example: Refer to description for values.
        clauseNumber:
          type: string
          description: >-
            This is to track the variation clause number if variation is
            involved.
        devStandardNumberVaried:
          type: string
          description: >-
            This is to track the numeric value of the standard being varied. The
            corresponding field in UI will be added in the future.
        devNumberAgainstStandard:
          type: string
          description: >-
            This is to track the numeric value of the development against this
            standard. The corresponding field in UI will be added in the future.
        devStdPercentagePropVariation:
          type: number
          description: >-
            This is to track the percentage value of variation as sought by
            applicant if variation is involved.
          format: decimal
        approvedVarValue:
          type: number
          description: >-
            This is to track the percentage value of the variation approved by
            agency.
          format: decimal
        briefVariationJustification:
          type: string
          maxLength: 3000
          description: This is to track the brief justification for the variation.
        approvedVariationAuthority:
          type: string
          description: >-
            This is to track the concurring authority name who approved
            variation. This will be defaulted to the name of the Stateagency.
          example: Refer to description for values.
    PendingLECDecision:
      required:
        - isSubjectOfLandECourtMatterQuestion
        - updatedByEmail
      type: object
      properties:
        isSubjectOfLandECourtMatterQuestion:
          type: boolean
          description: >-
            This refers to 'Is this application pending a decision from the Land
            and Environment Court ?'. If selected, determination will not
            available yet for agencies.
        referredDateLandECourt:
          type: string
          description: >-
            This is to track the date when applicant filed an appeal with the
            land and environment court.
          format: Date
        updatedByEmail:
          maxLength: 250
          type: string
          description: User must be registered in the planning portal.
          example: john.smith@gmail.com
    RoomTypes:
      required:
        - roomType
      type: object
      properties:
        roomType:
          type: string
          description: Room type 1. Single Room 2. Double Room
          example: Refer to description for values.
        selfContainedPrivateRooms:
          type: number
          maxLength: 4
          description: Private rooms that are self-contained
        nonSelfContainedPrivateRooms:
          type: number
          maxLength: 4
          description: Private rooms that are not self-contained
    NumberofBedrooms:
      required:
        - noOfBedrooms
      type: object
      properties:
        noOfBedrooms:
          type: string
          description: >-
            Number of bedrooms 1. Studio 2. 1 bedroom 3. 2 bedrooms 4. 3
            bedrooms 5. 4 bedrooms 6. 5 bedrooms 7. 6+ bedrooms
          example: Refer to description for values.
        noOfDwellingsDemolished:
          type: number
          maxLength: 4
          description: Number of dwellings to be demolished.
        noOfDwellingsErected:
          type: number
          maxLength: 4
          description: Number of dwellings to be erected.
        noOfAffordableHousesErected:
          type: number
          maxLength: 4
          description: >-
            Number of dwellings classified as ‘affordable housing’ to be
            erected.
    AddcategoryOfDevelopment:
      required:
        - categoryOfDevelopment
      type: object
      properties:
        categoryOfDevelopment:
          type: string
          description: >-
            This is to track the Category of development details. This is to
            enter details about the gross floor area proposed to be removed and
            the gross floor area proposed to be gained for the following
            category of development. This is applicable where the application is
            'approved' or 'Deferred commencementValue'. Available values to be
            chosen are - 1. Residential accommodation 2. Commercial including
            business premises and retail premises 3. Industry 4. Other. Value
            'Other' can be used for rural/extractive industry.
          example: Refer to description for values.
        areaDemolished:
          type: number
          maxLength: 4
          description: Area demolished (m2).
        proposedArea:
          type: number
          maxLength: 4
          description: Proposed area (m2).
    DownloadableDocument:
      required:
        - documentName
        - documentType
        - documentURL
        - uploadedDateTime
      type: object
      properties:
        documentName:
          maxLength: 150
          type: string
          description: documentName has to be appended with file extension.
          example: test.docx
        documentType:
          maxLength: 100
          type: string
        uploadedDateTime:
          type: string
          format: date-time
        documentURL:
          maxLength: 500
          type: string
          description: URL of the document to be downloaded.
          format: uri
    Error:
      required:
        - errorCode
        - statusCode
      type: object
      properties:
        statusCode:
          type: integer
          example: 404
        message:
          type: string
          example: Internal Server error 19876
        activityId:
          type: string
          example: 00000011-0ab-xy00-0000-500000000000
        errorCode:
          type: string
          example: DPE_TMS01
        errorDetails:
          type: string
          example: Inner Exceptions, Stack Trace, etc
    Success:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
          example: Preliminary Assessment Successful
        CNRCaseId:
          type: string
          description: >-
            This is to track the CNR case ID when CNR was requested by agency.
            Applicable only when isConcurrenceReq is true.
          example: CNR-1234
    councilsToConsultWith:
      type: object
      properties:
        LGAName:
          maxLength: 128
          type: string
        dueDate:
          type: string
          format: date
        ReasonForRefferal:
          maxLength: 512
          type: string
    typeOfCounsultantList:
      type: string
      description: >-
        type of consultant. 1. Acid sulfate soils 2.  Acoustic 3.  Air quality
        4.  Arborist 5.  Architect 6.  Biodiversity 7.  Building surveyor 8. 
        Bushfire 9.  Contamination/remediation 10.  cological 11.  Environmental
        Health 12.  Geotechnical 13.  Heritage 14.  Landscaping 15.  Legal 16. 
        Planning 17.  Social 18.  Stormwater/Hydrological 19.  Structural
        engineer 20.  Traffic 21.  Transport 22.  Urban Designer 23.  Waste 24. 
        Other
      example: Refer to description for values.
    ExhibitionCaseDetails:
      type: object
      properties:
        exhCaseID:
          type: string
          description: Used to hold the Exhibition case ID .
        numberOfSubmissions:
          type: integer
          description: >-
            This is to track number of submissions. Applicable when Application
            is exhibited.
        numberOfObjections:
          type: integer
          description: >-
            This is to track number of objections against submissions.
            Applicable when numberOfSubmissions greater than zero.
    FeePaidandLodgedResponse:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
        activityId:
          type: string
        contributionDetails:
          type: array
          description: >-
            This is to track the infrastructure contribution's case details
            associated to the development
          items:
            $ref: '#/components/schemas/contributionDetails'
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    Response:
      type: object
      properties:
        statusCode:
          type: integer
          example: 200
        message:
          type: string
        activityId:
          type: string
        Documents:
          type: array
          description: Attached documents with eplanningDocIds.
          items:
            $ref: '#/components/schemas/DocResponse'
    DocResponse:
      title: DocResponse
      type: object
      properties:
        documentName:
          type: string
          description: documentName which was uploaded as part of respective API opeartion
          example: test.docx
        documentType:
          type: string
          description: Type of Document under which repsective document was uploaded
        eplanningDocId:
          type: string
          description: DocId of the respective document which was uploaded
        externalOrgDocURL:
          type: string
          description: URL of the document which was uploaded
    contributionDetails:
      description: >-
        This is to track the contribution details of the case and will be sent
        in the response when available.
      type: object
      properties:
        caseID:
          maxLength: 32
          type: string
          example: CON-5453
        status:
          maxLength: 32
          type: string
          example: In-progress
  securitySchemes:
    api_key:
      type: apiKey
      name: api-key
      in: header
